package com.baizhi.controller.v1;

import com.baizhi.entity.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@RestController
@RequestMapping("/v1/users")
public class UserController {
    private static final Logger logger = LoggerFactory.getLogger(UserController.class);

    /**
     * 查询用户信息
     */
    @GetMapping("/{id}")
    public User user(@PathVariable Integer id) {
        logger.debug("查询id：{}", id);
        return new User(id, "小陈", 2300.23, new Date());
    }

    /**
     * 查询用户列表
     */
    @GetMapping
    public List<User> users() {
        List<User> list = new ArrayList<>();
        list.add(new User(21, "小陈", 2300.23, new Date()));
        list.add(new User(24, "小金豆", 3400.23, new Date()));
        return list;
    }

    /**
     * 添加用户
     */
    @PostMapping
    public void save(@RequestBody User user) {
        logger.debug("添加用户：{}", user);
        // 调用业务方法
    }

    /**
     * 更新用户
     */
    @PutMapping("/{id}")
    public void update(@PathVariable Integer id, @RequestBody User user) {
        logger.debug("更新id：{}", id);
        logger.debug("更新用户：{}", user);
        // 调用业务方法
    }

    /**
     * 删除用户
     */
    @DeleteMapping("/{id}")
    public void delete(@PathVariable Integer id) {
        logger.debug("删除id：{}", id);
        // 调用业务方法
    }
}
